U.S. Pat. No. 7,756,753 (Amazon) discloses an electronic catalog system that creates lists of items, such as TV programs, internet pages or movies on DVD or in video on demand systems that a user may wish to have delivered. A recommender system has the task of making a selection of items for a user, and/or to compute user specific scores for these items. From the scores a list of most highly rated items can be selected for use in a user selection interface, or to control automatic delivery of the item to the user. Ideally the score value of an item should correspond to the subjective preference for the item that the user would give after obtaining the item.
The recommender system may base its user specific score on observations of user action obtained before the computation of the score, when the user has not yet obtained the item. In conventional recommender systems score value computation by content based rating and collaborative filtering can be distinguished. Typically, content based rating involves weighing objective (i.e. user independent) values of attributes of items using user specific weights from a user profile, whereas collaborative filtering makes it possible to account for more subjective properties of the item.
Collaborative filtering assumes that the recommender system has already stored rating values (also succinctly called ratings herein) for items from other users before rating values are needed for a current user. The rating values may be derived directly from explicit rating input from the users, or inferred indirectly from user behavior, such as issuing orders for items, item viewing time etc. Collaborative filtering involves two steps: first the recommender system selects users that are most similar to the current user, and next the recommender system retrieves the rating values for a content item from these selected users, for use to generate a score for the current user. The stored rating values may be used in both steps. In the first step the recommender system may select the most similar users on the basis of correlation between the rating values that the current user and other users have given to a reference set of content items. In the second step the recommender system uses stored rating values for other content items that the current user has not yet rated.
Conventionally recommender systems compute values for individual users. U.S. Pat. No. 7,756,753 addresses the problem of computing a list of recommendations for a group of two or more users, for example to provide a list of movies that the group might want to see together. U.S. Pat. No. 7,756,753 proposes to do so by forming a merged list, from user specific lists of items for individual users in the group. For instance, if the user specific lists of users A and B are merged, and both user specific lists include a particular movie title, this movie title may be given priority over movie titles listed higher up on the user specific lists. Other factors may also be considered. For example a movie title that has already been provided to one of the users may be filtered out, or lowered in rank, before the list is displayed.
U.S. Pat. No. 7,756,753 also discloses that a score value for an item may be computed for a group as a whole. This may be based on the content of the group members' lists, taking these lists to represent votes for particular items. For instance, the rating of each item may be incremented for each occurrence of the item in a group member's suggestion list, with the increment amount optionally being dependent upon the position of the item in the suggestion list. The algorithm to generate the scores may also take into consideration extrinsic information about the preferences of the members (i.e., information other than the suggestion lists themselves). For example, for each item in the master list, a recommendation algorithm may be executed to generate an aggregate affinity value that represents the aggregate affinity of the group has for the item. The algorithm used to generate the aggregate affinity values may seek to achieve the following objectives: (1) select items that are similar items that members of the group have purchased, rated favorably, or suggested, and (2) exclude items that have already been consumed by members of the group, as evidenced by the purchase histories and/or item rating profiles of the members. To generate the score for an item, the item's aggregate affinity value may, for example, be added to a normalized member-vote-based value derived solely from the suggestion lists.
In embodiment for a group with two users A and B, the list of items that are rated most highly for one user A may be reordered according to scores computed for user B. A collaborative rating algorithm may be used to generate a score for each item appearing in user A's queue which is not in user B's queue or rental history. Each such score may then be used to determine where this item should be positioned in user A's merged queue. For instance, if user B is predicted to have a strong (or weak) affinity for an item in user A's queue, this item may be moved up (or down).
None of these solutions makes it possible to make full use of information about the composition of the group. No suggestion is provided how directly or indirectly derived score values that are obtained from the group can be used to compute scores later for other users. The composition of the group is not used to determine the computation of the score other than as a means of selecting scores for individual group members.
Privacy concerns involved with recommender systems are discussed in an article by Z. Erkin et al, titled “Privacy enhanced recommender systems”, published at the Thirty first Symposium on Information Theory in the Benelux”, Rotterdam 2010, pages 35-42. User rating values for content items can give away information that a user would not like to be publicly known, or known by commercial parties. On the other hand, collaborative filtering depends on a comparison of ratings from different users, which normally means that at least one party must have access to rating values of a multitude of users. Erkin et al combine these conflicting requirements by encrypting the rating values using a homomorphic encryption scheme (i.e. an encryption scheme that has the property that the result of applying arithmetic operations on encrypted ratings is the same as encrypting the result of applying a corresponding arithmetic operation to clear ratings). This makes it possible to compute correlations between ratings given by different users in a single computer without decrypting the ratings in that computer. In addition Erkin et al propose the use of secure multi-party computation techniques to select the users with the highest correlations. This prevents that any single party has access to the ratings of individual users. Erkin et al do not consider recommendations for groups of users.